POM ফাইলে Properties ব্যবহার করা

Maven Properties এবং Resource Filtering - ম্যাভেন (Maven) - Java Technologies

263

POM (Project Object Model) হল Maven-এর একটি গুরুত্বপূর্ণ কনফিগারেশন ফাইল যা প্রোজেক্টের বিবরণ, ডিপেনডেন্সি, বিল্ড কনফিগারেশন, প্লাগইন এবং অন্যান্য সেটিংস ধারণ করে। POM ফাইলটি সাধারণত pom.xml নামে থাকে এবং এটি একটি XML ফাইল হিসেবে ব্যবহৃত হয়।

POM ফাইলে Properties ব্যবহারের মাধ্যমে আপনি বিভিন্ন কনফিগারেশন এবং মান সংরক্ষণ করতে পারেন, যা প্রোজেক্টে পুনরায় ব্যবহারযোগ্য এবং কাস্টমাইজড হতে পারে। Properties আপনাকে পোম ফাইলে ডায়নামিক মান ব্যবহার করতে সহায়তা করে।

POM ফাইলে Properties কী?

Properties হল Key-Value পেয়ার যা পোম ফাইলে ডিফাইন করা হয় এবং পরে ডিপেনডেন্সি, বিল্ড, এবং অন্যান্য কনফিগারেশন সেকশনে পুনরায় ব্যবহৃত হয়। এটি মূলত পরিবর্তনশীল মান হিসেবে কাজ করে, যা প্রোজেক্টের মধ্যে বিভিন্ন জায়গায় অ্যাক্সেস করা যায়।

POM ফাইলে Properties ব্যবহার করার সুবিধা

  1. কোড পুনঃব্যবহারযোগ্যতা: একাধিক জায়গায় একই মান ব্যবহার করার বদলে, আপনি একটি property ডিফাইন করে সেটা একাধিক জায়গায় ব্যবহার করতে পারেন।
  2. সহজ কনফিগারেশন: পোম ফাইলে একক স্থানে ডিফাইন করা মানগুলো অন্য সকল কনফিগারেশনে সহজে ব্যবহৃত হতে পারে।
  3. মাল্টিপল এনভায়রনমেন্টে কনফিগারেশন সহজ করা: ডেভেলপমেন্ট, টেস্টিং, প্রোডাকশন ইত্যাদি পরিবেশে আলাদা আলাদা প্রপার্টি মান ব্যবহার করা যেতে পারে।

POM ফাইলে Properties ডিফাইন করা

আপনি POM ফাইলে properties এলিমেন্ট ব্যবহার করে প্রপার্টি ডিফাইন করতে পারেন। নিচে একটি সাধারণ উদাহরণ দেয়া হলো:

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>my-app</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <!-- Properties definition -->
        <java.version>1.8</java.version>
        <encoding>UTF-8</encoding>
        <app.name>My Application</app.name>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>5.3.9</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <!-- Using the property in build configuration -->
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

ব্যাখ্যা:

  1. Properties Definition: <properties> ট্যাগের মধ্যে আমরা java.version, encoding, এবং app.name এর মতো প্রপার্টি ডিফাইন করেছি।
  2. Usage in Build Configuration: maven-compiler-plugin এর মধ্যে ${java.version} ব্যবহার করা হয়েছে, যা পোম ফাইলে ডিফাইন করা java.version প্রপার্টি থেকে মান নিবে।

POM ফাইলে Properties ব্যবহার করার উদাহরণ

  1. জাভা ভার্সন নির্ধারণ: আপনি যদি বিভিন্ন পরিবেশে বা প্রোজেক্টের বিভিন্ন অংশে একই জাভা ভার্সন ব্যবহার করতে চান, তাহলে এটি properties এর মাধ্যমে এক জায়গায় ডিফাইন করা যেতে পারে।
<properties>
    <java.version>11</java.version>
</properties>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.1</version>
            <configuration>
                <source>${java.version}</source>
                <target>${java.version}</target>
            </configuration>
        </plugin>
    </plugins>
</build>
  1. কাস্টম ডিপেনডেন্সি ভার্সন ব্যবহার: যদি আপনি একটি নির্দিষ্ট ডিপেনডেন্সির ভার্সন নির্দিষ্ট করতে চান যা আপনার প্রোজেক্টের অন্য জায়গায় ব্যবহার হবে, তাহলে পোম ফাইলে এটি properties এর মাধ্যমে করতে পারেন।
<properties>
    <spring.version>5.3.9</spring.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>${spring.version}</version>
    </dependency>
</dependencies>
  1. প্রোডাকশন এবং ডেভেলপমেন্ট পরিবেশের জন্য ভিন্ন প্রপার্টি মান: আপনি Maven প্রোফাইল ব্যবহার করে পরিবেশ অনুযায়ী ভিন্ন ভিন্ন প্রপার্টি মান নির্ধারণ করতে পারেন।
<profiles>
    <profile>
        <id>dev</id>
        <properties>
            <env>development</env>
            <database.url>jdbc:mysql://localhost:3306/dev_db</database.url>
        </properties>
    </profile>

    <profile>
        <id>prod</id>
        <properties>
            <env>production</env>
            <database.url>jdbc:mysql://localhost:3306/prod_db</database.url>
        </properties>
    </profile>
</profiles>

এখানে, দুটি আলাদা প্রোফাইল ডিফাইন করা হয়েছে: dev এবং prod, এবং প্রতিটি প্রোফাইলের জন্য আলাদা database.url এবং env প্রপার্টি মান দেওয়া হয়েছে। আপনি যখন mvn clean install -P dev বা mvn clean install -P prod চালাবেন, তখন ওই প্রোফাইলের প্রপার্টি ব্যবহার করা হবে।

উপসংহার

Maven POM ফাইলে Properties ব্যবহারের মাধ্যমে আপনি প্রোজেক্টের কনফিগারেশন সহজ এবং পুনঃব্যবহারযোগ্য করতে পারেন। এটি ডিপেনডেন্সি, বিল্ড কনফিগারেশন এবং অন্যান্য প্রোজেক্ট সেটিংসের মধ্যে ডায়নামিক মান ব্যবহারের জন্য অত্যন্ত কার্যকরী। বিভিন্ন পরিবেশ বা স্টেজের জন্য ভিন্ন ভিন্ন প্রপার্টি ব্যবহার করতে পারার মাধ্যমে প্রোজেক্টের কনফিগারেশন আরও নিয়ন্ত্রণযোগ্য এবং কাস্টমাইজড হতে পারে।

Content added By
Promotion

Are you sure to start over?

Loading...